home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / Talking Clock Pro™ 2.0.1 / Talking Clock Pro Source / Extension / aete.r next >
Encoding:
Text File  |  1993-09-03  |  12.7 KB  |  494 lines  |  [TEXT/CWIE]

  1. #include "SysTypes.r"
  2. #include "Types.r"
  3. #include "AERegistry.r"
  4. #include "AppleEvents.r"
  5. #include "AEObjects.r"
  6.  
  7. #include "TalkConstants.h"
  8.  
  9. type 'aete' {
  10.     hex byte;                                            /*major version in binary-coded */
  11.                                                 /* decimal (BCD)*/
  12.     hex byte;                                            /*minor version in BCD*/
  13.     integer            Language, english = 0, japanese = 11;                                                    /*language code*/
  14.     integer            Script, roman = 0;                                /*script code                */
  15.     integer = $$Countof(Suites);
  16.     array Suites {
  17.         pstring;                                        /*human-language name of suite    */
  18.         pstring;                                        /*suite description*/
  19.         align word;                                        /*alignment*/
  20.         literal longint;                                        /*suite ID*/
  21.         integer;                                        /*suite level                */
  22.         integer;                                        /*suite version*/
  23.         integer = $$Countof(Events);
  24.         array Events {
  25.             pstring;                                    /*human-language name of event*/
  26.             pstring;                                    /*event description*/
  27.             align word;                                    /*alignment*/
  28.             literal longint;                                    /*event class                */
  29.             literal longint;                                    /*event ID            */
  30.             literal longint                        noReply = 'null';                            /*reply type                */
  31.             pstring;                                    /*reply description                        */
  32.             align word;                                    /*alignment            */
  33.             boolean            replyRequired,                        /*if the reply is */
  34.                         replyOptional;                        /* required*/
  35.             boolean            singleItem,                        /*if the reply must be a list*/
  36.                         listOfItems;                        
  37.             boolean            notEnumerated,
  38.                         isEnumerated;
  39.             boolean;
  40.             boolean;
  41.             boolean;                        
  42.             boolean;
  43.             boolean;
  44.             boolean;
  45.             boolean;
  46.             boolean;
  47.             boolean;
  48.             boolean;
  49.             boolean;
  50.             boolean;
  51.             boolean    nonVerbEvent = 1;                        /* event; used by Japanese dialect*/
  52.             literal longint                        noParams = 'null'; /*direct param type*/
  53.             pstring;                                    /*direct param description*/
  54.             align word;                                    /*alignment*/
  55.             boolean            directParamRequired,                         /*if the direct param is required*/
  56.                         directParamOptional;
  57.             boolean             singleItem,                        /*if the param must be a list*/
  58.                         listOfItems;
  59.             boolean             notEnumerated,                        /*if the type is enumerated*/
  60.                         enumerated;
  61.             boolean            doesntChangeState,                         /*if the event changes server's state                                                */
  62.                         changesState;
  63.             boolean;                        /*these 12 bits are reserved;                                     */
  64.             boolean;                        /* set them to "reserved"        */
  65.             boolean;                        
  66.             boolean;
  67.             boolean;
  68.             boolean;
  69.             boolean;
  70.             boolean;
  71.             boolean;
  72.             boolean;
  73.             boolean;
  74.             boolean;
  75.             integer = $$Countof(OtherParams);
  76.             array OtherParams {
  77.                 pstring;                                /*human-language name for parameter*/
  78.                 align word;                                /*alignment*/
  79.                 literal longint;                                /*parameter keyword*/
  80.                 literal longint;                                /*parameter type*/
  81.                 pstring;                                /*parameter description*/
  82.                 align word;                                /*alignment*/
  83.                 boolean            required,                    /*if param is required*/
  84.                             optional;
  85.  
  86.                 boolean             singleItem,                    /*if the param must be a list*/
  87.                             listOfItems;
  88.                 boolean             notEnumerated,                    /*if the type is enumerated                                    */
  89.                             enumerated;
  90.                 boolean            isNamed,                    /*indicates if this should be the */
  91.                             isUnnamed;                    /* unnamed parameter; only one                                         */
  92.                                                 /* parameter can be so marked; set to */
  93.                                                 /* reserved if not required*/
  94.                 boolean;                    /*these 9 bits are reserved                                    ; */
  95.                 boolean;                    /* set them to "reserved"*/
  96.                 boolean;
  97.                 boolean;
  98.                 boolean;
  99.                 boolean;
  100.                 boolean;
  101.                 boolean;
  102.                 boolean;
  103.                 boolean            notFeminine,                    /*feminine; set to reserved if not                                                 */
  104.                             feminine;                    /* required*/
  105.                 boolean            notMasculine,                    /*masculine            ; set to reserved if not                                 */
  106.                             masculine;                    /* required*/
  107.                 boolean            singular,
  108.                             plural;                    /*plural*/
  109.             };
  110.         };
  111.         integer = $$Countof(Classes);
  112.         array Classes {
  113.             pstring;                                    /*human-language name for class*/
  114.             align word;                                    /*alignment*/
  115.             literal longint;                                    /*class ID*/
  116.             pstring;                                    /*class description                        */
  117.             align word;                                    /*alignment            */
  118.             integer = $$Countof(Properties);
  119.             array Properties {
  120.                 pstring;                                /*human-language name for property*/
  121.                 align word;                                /*alignment            */
  122.                 literal longint;                                /*property ID                */
  123.                 literal longint;                                /*property class                    */
  124.                 pstring;                                /*property description*/
  125.                 align word;                                /*alignment            */
  126.                 boolean;                    /*reserved*/
  127.                 boolean            singleItem,                    /*if the property must be a list                                        */
  128.                             listOfItems;                    
  129.                 boolean            notEnumerated,                    /*if the type is                     enumerated*/
  130.                             enumerated;                
  131.                 boolean            readOnly,                    /*can only read it*/
  132.                             readWrite;                    /*can read or write it*/
  133.                 boolean;                    /*these 9 bits are reserved; */
  134.                 boolean;                    /* set them to "reserved"                                */
  135.                 boolean;            
  136.                 boolean;
  137.                 boolean;
  138.                 boolean;
  139.                 boolean;
  140.                 boolean;
  141.                 boolean;                    
  142.                 boolean            notFeminine,                    /*feminine; set to reserved if not                                                 */
  143.                             feminine;                    /* required*/
  144.                 boolean            notMasculine,                    /*masculine            ; set to reserved if not                                 */
  145.                             masculine;                    /* required*/
  146.                 boolean            singular,
  147.                             plural;                    /*plural*/
  148.             };
  149.             integer = $$Countof(Elements);
  150.             array Elements {
  151.                 literal longint;                                /*element class*/
  152.                 integer = $$Countof(KeyForms);
  153.                 array KeyForms {                                /*list of key forms                        */
  154.                     literal longint ;
  155.                 };
  156.             };
  157.         };
  158.         integer = $$Countof(ComparisonOps);
  159.         array ComparisonOps {
  160.             pstring;                                    /*human-language name for */
  161.                                                 /* comparison operator            */
  162.             align word;                                    /*alignment*/
  163.             literal longint;                                    /*comparison operator ID                                */
  164.             pstring;                                    /*comparison operator description*/
  165.             align word;                                    /*alignment*/
  166.         };
  167.         integer = $$Countof(Enumerations);
  168.         array Enumerations {                                        /*list of enumerations*/
  169.             literal longint;                                    /*enumeration ID*/
  170.             integer = $$Countof(Enumerators);
  171.             array Enumerators {                                    /*list of enumerators*/
  172.                 pstring;                                /*human-language name for enumerator    */
  173.                 align word;                                /*alignment*/
  174.                 literal longint;                                /*enumerator ID                    */
  175.                 pstring;                                /*enumerator description                                */
  176.                 align word;                                /*alignment            */
  177.             };
  178.         };
  179.     };
  180. }; 
  181.  
  182.  
  183. resource 'aete' (0) {
  184.     1 , 0 ,
  185.     english , roman ,
  186.     {    /* Suites */
  187.  
  188.         "Core suite" ,
  189.         "Basic manipulation events" ,
  190.         kAETalkingClockSuite , 1 , 1 ,
  191.         {    /* Events */
  192.  
  193.             "get",
  194.             "Get the data for an object",
  195.             kAECoreSuite,
  196.             kAEGetData,
  197.             typeWildCard,
  198.             "the data from the object",
  199.             replyRequired,
  200.             singleItem,
  201.             notEnumerated,
  202.             reserved,
  203.             reserved, reserved, reserved, reserved,
  204.             reserved, reserved, reserved, reserved,
  205.             reserved, reserved, reserved, reserved,
  206.             typeObjectSpecifier,
  207.             "the object whose data is to be returned",
  208.             directParamRequired,
  209.             singleItem,
  210.             notEnumerated,
  211.             doesntChangeState,
  212.             reserved, reserved, reserved, reserved,
  213.             reserved, reserved, reserved, reserved,
  214.             reserved, reserved, reserved, reserved,
  215.             {    /* array OtherParams: 1 elements */
  216.                 "as",
  217.                 keyAERequestedType,
  218.                 typeType,
  219.                 "the desired type for the data",
  220.                 optional,
  221.                 listOfItems,
  222.                 notEnumerated,
  223.                 reserved,
  224.                 reserved, reserved, reserved, reserved,
  225.                 reserved, reserved, reserved, reserved,
  226.                 reserved, reserved, reserved, reserved,
  227.             } ,
  228.  
  229.             "set",
  230.             "Set the data of an object",
  231.             kAECoreSuite,
  232.             kAESetData,
  233.             typeWildCard,
  234.             "the data to the object",
  235.             replyOptional,
  236.             singleItem,
  237.             notEnumerated,
  238.             reserved,
  239.             reserved, reserved, reserved, reserved,
  240.             reserved, reserved, reserved, reserved,
  241.             reserved, reserved, reserved, reserved,
  242.             typeObjectSpecifier,
  243.             "the object whose data is to be affected",
  244.             directParamRequired,
  245.             singleItem,
  246.             notEnumerated,
  247.             changesState,
  248.             reserved, reserved, reserved, reserved,
  249.             reserved, reserved, reserved, reserved,
  250.             reserved, reserved, reserved, reserved,
  251.             {    /* array OtherParams: 1 elements */
  252.                 "to",
  253.                 keyAEData,
  254.                 typeWildcard,
  255.                 "the desired data for the object",
  256.                 required,
  257.                 singleItem,
  258.                 notEnumerated,
  259.                 reserved,
  260.                 reserved, reserved, reserved, reserved,
  261.                 reserved, reserved, reserved, reserved,
  262.                 reserved, reserved, reserved, reserved,
  263.             } ,
  264.  
  265.             "run",
  266.             "Start the application",
  267.             kCoreEventClass,
  268.             kAEOpenApplication,
  269.             typeNull,
  270.             "",
  271.             replyOptional,
  272.             singleItem,
  273.             notEnumerated,
  274.             reserved,
  275.             reserved, reserved, reserved, reserved,
  276.             reserved, reserved, reserved, reserved,
  277.             reserved, reserved, reserved, reserved,
  278.             typeNull,
  279.             "",
  280.             directParamOptional,
  281.             singleItem,
  282.             notEnumerated,
  283.             changesState,
  284.             reserved, reserved, reserved, reserved,
  285.             reserved, reserved, reserved, reserved,
  286.             reserved, reserved, reserved, reserved,
  287.             {    /* array OtherParams */
  288.             } ,
  289.  
  290.             "quit",
  291.             "Quit the application",
  292.             kCoreEventClass,
  293.             kAEQuitApplication,
  294.             typeNull,
  295.             "",
  296.             replyOptional,
  297.             singleItem,
  298.             notEnumerated,
  299.             reserved,
  300.             reserved, reserved, reserved, reserved,
  301.             reserved, reserved, reserved, reserved,
  302.             reserved, reserved, reserved, reserved,
  303.             typeNull,
  304.             "",
  305.             directParamOptional,
  306.             singleItem,
  307.             notEnumerated,
  308.             changesState,
  309.             reserved, reserved, reserved, reserved,
  310.             reserved, reserved, reserved, reserved,
  311.             reserved, reserved, reserved, reserved,
  312.             {    /* array OtherParams */
  313.             } ,
  314.  
  315.             "say the time",
  316.             "Speak the current time",
  317.             kAETalkingClockSuite,
  318.             kAESayTime,
  319.             typeNull,
  320.             "",
  321.             replyOptional,
  322.             singleItem,
  323.             notEnumerated,
  324.             reserved,
  325.             reserved, reserved, reserved, reserved,
  326.             reserved, reserved, reserved, reserved,
  327.             reserved, reserved, reserved, reserved,
  328.             typeNull,
  329.             "",
  330.             directParamOptional,
  331.             singleItem,
  332.             notEnumerated,
  333.             doesntChangeState,
  334.             reserved, reserved, reserved, reserved,
  335.             reserved, reserved, reserved, reserved,
  336.             reserved, reserved, reserved, reserved,
  337.             {    /* array OtherParams */
  338.             } ,
  339.  
  340.             "say the date",
  341.             "Speak the current time",
  342.             kAETalkingClockSuite,
  343.             kAESayDate,
  344.             typeNull,
  345.             "",
  346.             replyOptional,
  347.             singleItem,
  348.             notEnumerated,
  349.             reserved,
  350.             reserved, reserved, reserved, reserved,
  351.             reserved, reserved, reserved, reserved,
  352.             reserved, reserved, reserved, reserved,
  353.             typeNull,
  354.             "",
  355.             directParamOptional,
  356.             singleItem,
  357.             notEnumerated,
  358.             doesntChangeState,
  359.             reserved, reserved, reserved, reserved,
  360.             reserved, reserved, reserved, reserved,
  361.             reserved, reserved, reserved, reserved,
  362.             {    /* array OtherParams */
  363.             } ,
  364.         } ,
  365.         {    /* Classes */
  366.             "Application",
  367.             cApplication,
  368.             "An application program",
  369.             {    /* array Properties: 9 elements */
  370.  
  371.                 /* [7] */
  372.                 "turnover",
  373.                 pTurnover,
  374.                 cLongInteger,
  375.                 "the hour turnover 5-minute period",
  376.                 reserved,
  377.                 singleItem,
  378.                 notEnumerated,
  379.                 readWrite,
  380.                 reserved, reserved, reserved, reserved,
  381.                 reserved, reserved, reserved, reserved,
  382.                 reserved,
  383.                 reserved,
  384.                 reserved,
  385.                 reserved,
  386.  
  387.                 /* [8] */
  388.                 "optionKeyTalk",
  389.                 pOptionKeyTalk,
  390.                 cBoolean,
  391.                 "Does the clock speak when the option key is held down?",
  392.                 reserved,
  393.                 singleItem,
  394.                 notEnumerated,
  395.                 readWrite,
  396.                 reserved, reserved, reserved, reserved,
  397.                 reserved, reserved, reserved, reserved,
  398.                 reserved,
  399.                 reserved,
  400.                 reserved,
  401.                 reserved,
  402.  
  403.                 /* [9] */
  404.                 "commandKeyTalk",
  405.                 pCommandKeyTalk,
  406.                 cBoolean,
  407.                 "Does the clock speak when the command key is held down?",
  408.                 reserved,
  409.                 singleItem,
  410.                 notEnumerated,
  411.                 readWrite,
  412.                 reserved, reserved, reserved, reserved,
  413.                 reserved, reserved, reserved, reserved,
  414.                 reserved,
  415.                 reserved,
  416.                 reserved,
  417.                 reserved,
  418.  
  419.                 /* [10] */
  420.                 "controlKeyTalk",
  421.                 pControlKeyTalk,
  422.                 cBoolean,
  423.                 "Does the clock speak when the control key is held down?",
  424.                 reserved,
  425.                 singleItem,
  426.                 notEnumerated,
  427.                 readWrite,
  428.                 reserved, reserved, reserved, reserved,
  429.                 reserved, reserved, reserved, reserved,
  430.                 reserved,
  431.                 reserved,
  432.                 reserved,
  433.                 reserved,
  434.  
  435.                 /* [11] */
  436.                 "shiftKeyTalk",
  437.                 pShiftKeyTalk,
  438.                 cBoolean,
  439.                 "Does the clock speak when the shift key is held down?",
  440.                 reserved,
  441.                 singleItem,
  442.                 notEnumerated,
  443.                 readWrite,
  444.                 reserved, reserved, reserved, reserved,
  445.                 reserved, reserved, reserved, reserved,
  446.                 reserved,
  447.                 reserved,
  448.                 reserved,
  449.                 reserved,
  450.  
  451.                 /* [12] */
  452.                 "capsLockKeyTalk",
  453.                 pCapsLockKeyTalk,
  454.                 cBoolean,
  455.                 "Does the clock speak when the caps lock key is held down?",
  456.                 reserved,
  457.                 singleItem,
  458.                 notEnumerated,
  459.                 readWrite,
  460.                 reserved, reserved, reserved, reserved,
  461.                 reserved, reserved, reserved, reserved,
  462.                 reserved,
  463.                 reserved,
  464.                 reserved,
  465.                 reserved,
  466.  
  467.                 /* [13] */
  468.                 "fiveMinuteTalk",
  469.                 pFiveMinuteTalk,
  470.                 cBoolean,
  471.                 "Does the clock speak every five minutes?",
  472.                 reserved,
  473.                 singleItem,
  474.                 notEnumerated,
  475.                 readWrite,
  476.                 reserved, reserved, reserved, reserved,
  477.                 reserved, reserved, reserved, reserved,
  478.                 reserved,
  479.                 reserved,
  480.                 reserved,
  481.                 reserved,
  482.  
  483.             },
  484.             {    /* array Elements: 0 elements */
  485.             },
  486.         },
  487.         {    /* array ComparisonOps: 0 elements */
  488.         },
  489.         {    /* array Enumerations: 0 elements */
  490.         },
  491.     },
  492. };
  493.  
  494.